home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 4 / Amiga Tools 4.iso / tools / internet-tools / connect-line / cl / rexx / cl-killoldsystems.clrexx < prev    next >
Encoding:
Text File  |  1996-02-05  |  2.8 KB  |  117 lines

  1. /*
  2. **  $VER: CL-KillOldSystems.rexx 1.3 (05 Feb 1996)
  3. **
  4. **        © 1995-96 Ralf Ramge
  5. **
  6. **  PROGRAMNAME:
  7. **      CL-KillOldSystems.rexx
  8. **
  9. **  FUNCTION:
  10. **      Demonstrations-Skript zu cl_rexx.library, Connectline 5.0
  11. **
  12. **      Connectline © 1986-1995 Oliver Wagner, Mathias Mischler
  13. **      cl_rexx.library © 1995 Mathias Mischler
  14. **
  15. **      Dieses Skript durchsucht die Verteiler aller Bretter nach Systemen,
  16. **      die nicht in der Systemliste aufgeführt sind und löscht sie gege-
  17. **      benenfalls. Dieses Problem kann z.B. auftreten, wenn ein Point ge-
  18. **      löscht wird ohne daß vorher alle Bretter abbestellt wurden.
  19. **
  20. **  $HISTORY:
  21. **
  22. **      0.01 - Erste Alpha-Version
  23. **      0.1  - Einbindung ins ARexx-Menü des Servers
  24. **      0.2  - BrettScan optimiert
  25. **      1.0  - Veröffentlichungsreife Version
  26. **      1.1  - font-sensitiv
  27. **      1.11 - Logfileeintrag
  28. **      1.2  - Auf neue Arbeitsweise von CLGET_BoardBoxList() angepasst
  29. **      1.3  - kosmetische Fixes, schneller
  30. */
  31.  
  32. /* rexxsupport.library öffnen */
  33.  
  34. if ~show('L','rexxsupport.library') then do
  35.     if ~addlib('rexxsupport.library',0,-30,0) then exit 10
  36.         end
  37.  
  38. /* cl_rexx.library öffnen */
  39.  
  40. if ~show('L','cl_rexx.library') then do
  41.     if ~addlib('cl_rexx.library',0,-30,0) then exit 10
  42.     end
  43.  
  44. /* Fontsize ermitteln */
  45.  
  46. gfxbase=showlist(l,'graphics.library',0,a)
  47. call forbid
  48. FontAddress=next(gfxbase,154)
  49. Fontsize=c2d(IMPORT(offset(FontAddress,20),2))
  50. call permit
  51. windowwidth=Fontsize*50
  52. windowheight=Fontsize*15
  53. windowY=Fontsize+1
  54. WindowX=Fontsize
  55.  
  56.  
  57.  
  58. /* Standard-IO umleiten */
  59.  
  60. screen=CLGET_FrontScreenName()
  61.  
  62. call close STDOUT
  63. if ~open(STDOUT,'CON:'windowX'/'windowY'/'windowwidth'/'windowheight'/CL-KillOldSystems/SCREEN'screen,'W') then
  64.     exit 20
  65. else do
  66.     call close STDIN
  67.     call open STDIN,'*',R
  68.     call pragma '*'
  69.     end
  70.  
  71. say 'Durchsuche alle Verteiler nach inexistenten Systemen.'
  72. say 'Bitte warten.'
  73.  
  74. banz=CLGET_BoardList(brett)-1    /* Anzahl der Bretter ermitteln */
  75.  
  76. if banz=0 then do
  77.     say 'Keine Brettliste gefunden!'
  78.     exit 20
  79.     end
  80.  
  81. /* Durchsuchen der Brettliste */
  82.  
  83. ctr=0
  84.  
  85. do i=0 to banz
  86.     vanz=(CLGET_BoardBoxList(brett.i,system))-1
  87.     if vanz>0 then do
  88.         do y=1 to vanz
  89.             if ~CLIS_SystemExists(system.y) then do
  90.                 say 'Illegales System 'system.y' in /'brett.i'.'
  91.                 CLSET_BoardDelBox(brett.i,system.y)
  92.                 call CL_LogAdd(0,'KOSYSTEMS','Altes System 'system.y' aus /'brett.i' entfernt')
  93.                 ctr=ctr+1
  94.                 end
  95.             end
  96.         end
  97.     end
  98.  
  99.     say 'Insgesamt wurden 'ctr' illegale Einträge eliminiert.'
  100.     say 'Speichere Brettliste.'
  101.  
  102.     call CL_SaveBoardList()
  103.     say 'Fertig.'
  104.  
  105.     call ende
  106.     exit
  107.  
  108.  
  109. ende:
  110.  
  111.     options prompt "<Bitte drücken Sie RETURN>"
  112.     pull dummy
  113.  
  114.     call close STDOUT
  115.     call close STDIN
  116.     exit
  117.